﻿using System.Collections.Generic;
using Resn.WhuPub.DML;

namespace Resn.WhuPub.BIL
{
        /// <summary>
        ///定义专业设置的属性和方法
        /// </summary>
        public interface IMajorSetup : IEntity
        {
                #region 属性

                #region 基本属性

                /// <summary>
                ///获取专业设置的院系Id
                /// </summary>
                /// <value>
                ///专业设置的院系Id
                /// </value>
                string DepartmentId { get; }

                /// <summary>
                ///获取专业设置的专业Id
                /// </summary>
                /// <value>
                ///专业Id
                /// </value>
                string MajorId { get; }

                /// <summary>
                ///获取或设置专业负责人的姓名
                /// </summary>
                /// <value>
                ///专业负责人的姓名
                /// </value>
                string ManagerName { get; set; }

                /// <summary>
                ///获取或设置教学负责人的姓名
                /// </summary>
                /// <value>
                ///教学负责人的姓名
                /// </value>
                string TeachingManagerName { get; set; }

                #endregion 基本属性

                /// <summary>
                ///获取专业设置模型
                /// </summary>
                /// <value>
                ///专业设置模型
                /// </value>
                MajorSetupModel Model { get; }

                /// <summary>
                ///获取开设该专业的院\系\处\所
                /// </summary>
                /// <value>
                ///开设该专业的院\系\处\所
                /// </value>
                IDepartment Department { get; }

                /// <summary>
                ///获取开设专业的专业分类信息
                /// </summary>
                /// <value>
                ///开设专业的专业分类信息
                /// </value>
                IMajor Major { get; }

                /// <summary>
                ///获取专业设置下属的历年专业运作信息
                /// </summary>
                /// <value>
                ///专业设置下属的历年专业运作信息
                /// </value>
                List<IMajorOperation> MajorOperations { get; }

                #endregion 属性

                #region 方法

                /// <summary>
                /// 创建专业运作信息
                /// </summary>
                /// <param name="year">年份</param>
                /// <param name="studentsAmount">招生人数</param>
                /// <returns>创建的专业运作信息对象</returns>
                IMajorOperation CreateMajorOperation(int year, int studentsAmount);

               

                #endregion 方法
        }
}